package com.cz.video.common.storage;

import cn.xuyanwu.spring.file.storage.platform.FileStorage;
import com.cz.video.common.storage.dto.OssUploadAuth;
import com.cz.video.common.storage.dto.StsSecurityTokenEntity;

/**
 * 分发oss的上传和下载凭证
 */
public interface OSSCertificate extends FileStorage {



  /**
   * 获取上传凭证
   * @param originalFileName 文件名后缀
   * @param platform 上传的平台（是平台不是服务商）
   * @return 上传凭证
   */
  OssUploadAuth getUploadAuth(String originalFileName, String platform);

  /**
   * 获取下载凭证
   *
   * @return 下载凭证
   */
  String getDownloadCredentials();

  /**
   * 获得用户空间目录凭证
   *
   * @return 用户空间目录凭证
   */
  StsSecurityTokenEntity getUserSpaceCertificate();

  Boolean getEnableSts();
}
